import java.util.Locale;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: lucky
 * Date: 2022-08-05
 * Time: 20:05
 */
public class demo2 {
    public static void main(String[] args) {
        StringBuilder str = new StringBuilder("haohaoxuexi");
        StringBuilder str1 = str;
        // 尾部追加 在str后+=，可以是：boolean、char、char[]、
        // double、float、int、long、Object、String、StringBuff的变量
        str1.append("ch");
        str1.append(" ");
        str1.append(12);
        System.out.println(str1);
        System.out.println(str1 == str);
        // 获取指定位置长度
        System.out.println(str.charAt(3));
        // 获取字符串有效长度
        System.out.println(str.length());
        // 获取底层保存字符串空间总的大小
        System.out.println(str.capacity());
        // 返回str第一次出现的位置
        System.out.println(str.indexOf("ha"));
        // 从指定位置位置开始查找str第一次出现的位置
        System.out.println(str.indexOf("ha",4));
        // 返回最后一次出现str的位置
        System.out.println(str.lastIndexOf("xu"));
        // 从指定位置开始找str最后一次出现的位置
        System.out.println(str.lastIndexOf("ha",3));
        // 在指定的位置插入：八种基类类型 & String类型 & Object类型数据
        System.out.println(str.insert(1,"ch"));
        System.out.println(str.insert(2,1));
        // 删除指定位置字符
        System.out.println(str.deleteCharAt(5));
        // 删除[start, end)区间内的字符
        System.out.println(str.delete(3,5));
        // 将[start, end)位置的字符替换为str
        System.out.println(str.replace(4,6,"wc"));
        // 从start开始一直到末尾的字符以String的方式返回
        System.out.println(str.substring(5));
        // 将[start, end)范围内的字符以String的方式返回
        System.out.println(str.substring(2,5));
        // 反转字符串
        System.out.println(str.reverse());
        // 将所有字符按照String的方式返回
        System.out.println(str.toString());

    }
    public static void main8(String[] args) {
        String str = "suifengershi";
        System.out.println(str.substring(5)); //从指定位置开始至结尾 ，
        System.out.println(str.substring(4, 10)); // 从指定位置截取至指定的截取范围
    }
    public static void main7(String[] args) {
        String str = "tian_tian_kai_xin" ;
        String[] result = str.split("_",3); //按照自己设置的格式部分拆分
        for(String str1: result) {
            System.out.println(str1);
        }
        String[] result1 = str.split("_") ; // 全部拆分、按照空格拆分
        for(String str2: result1) {
            System.out.println(str2);
        }
    }
    public static void main6(String[] args) {
        String str = "tiantiankaixin";
        System.out.println(str.replaceFirst("i", "e")); //替换单个内容
        System.out.println(str.replaceAll("i", "e")); //替换所有内容

    }
    public static void main4(String[] args) {
        String s1 = String.format("%d-%d-%d", 2022,8,05);
        System.out.println(s1);
    }
    public static void main3(String[] args) {
        String str = "happy";
        // 字符串转数组
        char[] arr = str.toCharArray();
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
        System.out.println();
        // 数组转字符串
        String str1 = new String(arr);
        System.out.println(str1);

    }
    public static void main2(String[] args) {
        //大小写转换
        String str1 = "happy";
        String str2 = "HEPPY";
        System.out.println(str1.toUpperCase(Locale.ROOT));  //小写转换成大写
        System.out.println(str2.toLowerCase(Locale.ROOT)); //大写转换成小写
    }
    public static void main1(String[] args) {
        //数值转化成字符串
        String str1 = String.valueOf(456);
        String str2 = String.valueOf(23.1);
        String str3 = String.valueOf(true);
        System.out.println(str1);
        System.out.println(str2);
        System.out.println(str3);
        //字符创转换成数字
        int d = Integer.parseInt("234");
        double c = Double.parseDouble("45.45");
        System.out.println(d);
        System.out.println(c);
    }
}
